Storage medium storing game program, game apparatus and game control method

ABSTRACT

A video game apparatus includes a CPU, the CPU detects marker coordinates data included in input data transmitted from a controller, and calculates indicated coordinates of the controller. A star object indicated by the controller is set as a target object by a player pressing a B-trigger switch. Then, a player object executes a processing according to the target object. For example, when the player continues to press the B-trigger switch, the player object is moved to approach the target object.

CROSS REFERENCE OF RELATED APPLICATION

The disclosure of Japanese Patent Application No. 2006-129874 isincorporated herein by reference.

BACKGROUND

1. Field

Example embodiment of the present invention relate to a storage mediumstoring a game program, a game apparatus and a game control method. Morespecifically, example embodiments of the present invention relate to astorage medium storing a game program, a game apparatus, and a gamecontrol method for receiving input data from an input device anddisplaying a situation in a virtual game space after arithmeticallyprocessing by using the input data on a screen of the correspondingdisplay.

2. Description of the Related Art

Conventionally, a game system using an optical pointing device isproposed. An example of the related art of this kind is disclosed inJapanese Patent Laying-open No. 08-71252 [A63F 9/22] laid-open on Mar.19, 1996(technical document). This technical document discloses ashooting game apparatus using a gun type controller. This gun typecontroller is equipped with a CCD camera, and photographs by the CCDcamera a light emitting body disposed as an object to be imaged around avideo screen. Thus, the game apparatus is capable of detecting adistance between the screen and the gun type controller, rotation of thegun type controller, and a relative position of the gun type controllerwith respect to the screen. In addition, the coordinate (arrival point)on the screen indicated by the gun type controller is also calculated.

However, the gun type controller described in the technical document isused only for indicating a position on the display screen. Namely, thegun type controller is capable of only simple operation that theposition on the display screen is indicated, and is not capable ofperforming other operation. Accordingly, the gun type controller onlyallows a simple game to be performed, such as to determinehitting/missing a target on the display screen. Therefore, there is lackof amusement, because not only a game operation but also the game itselfshows a simple content.

SUMMARY

Therefore, it is an aspect of example embodiments of the presentinvention to provide a novel storage medium storing a game program, gameapparatus and game control method.

It is another aspect of example embodiments of the present invention toprovide a storage medium storing a game program, a game apparatus and agame control method capable of increasing an amusement of the game usinga pointing device.

Example embodiments of the present invention adopt the followingconstruction in order to solve the above-described problems. It shouldbe noted that reference numerals and footnote, etc. which are enclosedin parentheses show only one example of correspondences with theembodiment described later in order to help the understandings ofexample embodiments of the present invention, and do not limit thepresent invention.

The storage medium storing the game program according to exampleembodiments of the present invention stores the game program executed bythe game apparatus whereby input data is received from the pointingdevice including at least one input means, and the situation of avirtual game space after arithmetic processing by using the input datais displayed on the screen of the display. The game program causes theprocessor of the game apparatus to function as an object disposingmeans, a pointing position detecting means, a first object indicationdetermining means, an operation state determining means and a secondobject controlling means. The object disposing means disposes the firstobject and the second object within the virtual game space. The pointingposition detecting means detects a position on the screen indicated bythe pointing device. The first object indication determining meansdetermines whether or not the first object is indicated, based on apointing position detected by the pointing position detecting means. Theoperation state determining means determines whether or not apredetermined input means is pressed in a state that the first objectindication determining means determines that the first object isindicated. The second object controlling means controls the secondobject to execute the processing related to the first object when theoperation state determining means determines that a predetermined inputmeans is pressed.

Specifically, a game apparatus (12) receives the input data from apointing device (22) including at least one input means (26), anddisplays on the screen the situation in the virtual game space afterarithmetic processing by using the input data. The game program causes aprocessor (36) of the game apparatus to function as an object disposingmeans (36, S3), a pointing position detecting means (36, S9, S51), afirst object indication determining means (36, S55), an operation statedetermining means (36 and S9, S71) and a second object controlling means(36, S89). The object disposing means disposes the first object (104)and the second object (102) in the virtual game space. For example, eachobject is generated and disposed in a three-dimensional virtual space.The pointing position detecting means detects the position on a screen(100) indicated by the pointing device. Namely, indicated coordinates ofthe pointing device are detected. The first object indicationdetermining means determines whether or not the first object isindicated based on a pointing position (indicated coordinates) detectedby the pointing position detecting means. For example, the first objectindication determining means determines whether or not the indicatedcoordinates are brought into contact with or included in a displayregion of the first object. The operation state determining meansdetermines whether or not a predetermined input means (26 i) is pressedin a state that the first object indication determining means indicatesthe first object. When the operation state determining means determinesthat the predetermined input means is pressed, the second objectcontrolling means controls the second object to perform the processingrelated to the first object. Namely, the processing in accordance withthe first object is executed by the second object.

According to example embodiments of the present invention, sinceprocessing related to the indicated first object is performed by thesecond object, the amusement of the game using the pointing device canbe increased.

According to one example embodiment of the present invention, thepointing device includes an imaging means for photographing an object tobe imaged set in a circumference of the display, and the pointingposition detecting means detects the position on the screen indicated bythe pointing device based on a photographic result of the imaging means.Specifically, the pointing device includes an imaging means (80) forphotographing objects (32 m, 32 n) to be imaged set in the circumferenceof the display. The pointing position detecting means detects theposition on the screen indicated by the pointing device based on aphotographic result of the imaging means. For example, an intermediateposition between two objects to be imaged is detected as the positiondirected by the pointing device, namely, the pointing position. Thus,since the position on the screen indicated by the pointing device isdetected, the position can be easily detected.

According to another example embodiment of the present invention, theoperation state determining means determines whether or not an operationis set in a state that the predetermined input means is continuouslypressed, and the second object controlling means causes the secondobject to perform the processing related to the first object, while theoperation state determining means determines the state to be set in thestate that the predetermined input means is continuously pressed.Specifically, the operation state determining means determines whetheror not the state is kept in the state that the predetermined input meansis continuously pressed, namely, whether or not a pressing of the inputmeans is continuing. The second object controlling means controls thesecond object to perform the processing related to the first object,while the operation state determining means determines that the state iskept in the state that the predetermined input means is continuouslypressed. Thus, the second object is controlled to perform the processingrelated to the first object, only while the predetermined input means iscontinuously pressed. Namely, a player is allowed to select the time tocontrol the second object to perform the processing related to the firstobject.

According to one aspect of example embodiments of the present invention,the game program further causes the processor to function as a distancedetermining means for determining a distance between the first objectand the second object in the virtual space, when it is so determinedthat the first object is indicated by the first object indicationdetermining means, and the second object controlling means controls thesecond object to perform the processing related to the first object,when the distance is within a predetermined range. Specifically, when itis so determined that the first object is indicated (“YES” in S55),distance determining means (36, S83) determines the distance between thefirst object and the second object in the virtual space. The secondobject controlling means controls the second object to perform theprocessing related to the first object, when the distance is within thepredetermined range. Accordingly, when the distance exceeds thepredetermined range, the second object controlling means does not allowthe second object to perform the processing related to the first object.Accordingly, as long as the distance between the first object and thesecond object is within the predetermined range, the second object isallowed to perform the processing related to the first object.

According to another aspect of example embodiments of the presentinvention, the game program causes the processor to function as anexistence determining means for determining whether or not other objectexists between the first object and the second object when the firstobject indication determining means determines that the first object isindicated, and the second object controlling means controls the secondobject to perform the processing related to the first object when theexistence determining means determines that other object does not exist.Specifically, existence determining means (36, S57) determines whetheror not other object exists between the first object and the secondobject, when it is so determined that the first object is indicated(“YES” in S55). Namely, the existence determining means determineswhether or not the player can allow the second object to perform theprocessing related to the first object. When other object does notexist, the second object controlling means controls the second object toperform the processing related to the first object. Namely, as long asother object does not exit between the first object and the secondobject, the second object is allowed to perform the processing relatedto the first object. According to another example embodiment of thepresent invention, the second object controlling means controls amovement of the second object so that the second object approaches thefirst object. Therefore, by controlling the second object to approachthe first object and by changing the indicated first object, a playerobject can be moved in the virtual game space.

According to still another aspect of example embodiments of the presentinvention, the game program further causes the processor to function asa speed calculating means for calculating a moving speed of the secondobject based on the distance, and the second object controlling meanscontrols a movement of the second object based on the speed calculatedby the speed calculating means. Specifically, the speed calculatingmeans (36, S15) calculates the moving speed of the second object basedon the distance between the first object and the second object. Thesecond object controlling means controls the movement of the secondobject based on the speed calculated by the speed calculating means.Accordingly, in accordance with the distance between the first objectand the second object, the moving speed of the first object can bechanged.

According to still another example embodiment of the present invention,the object disposing means disposes a plurality of first objects, andthe first object indication determining means further determines whichone of the plurality of first objects is indicated, and the secondobject controlling means controls the second object to perform differentprocessing respectively for each first object determined to beindicated. Specifically, the object disposing means disposes a pluralityof first objects. The first object indication determining meansdetermines not only whether or not the first object is indicated, butalso which one of the plurality of first objects is indicated. Thesecond object controlling means controls the second object to performthe different processing respectively for each first object determinedto be indicated. Namely, since the second object is allowed to performthe processing in accordance with the first object, the amusement of thegame using the pointing device can be increased.

According to example embodiments of the present invention, the gameapparatus receives the input data from the pointing device including atleast one input means, and displays on the screen of the display thesituation in the virtual game space after arithmetic processing by usingthe input data. The game apparatus comprises an object disposing means,a pointing position detecting means, a first object indicationdetermining means, an operation state determining means, and a secondobject controlling means. The object disposing means disposes the firstobject and the second object in the virtual game space. The pointingposition detecting means detects the position on the screen indicated bythe pointing device. The first object indication determining meansdetermines whether or not the first object is indicated, based on thepointing position detected by the pointing position detecting means. Theoperation state determining means determines whether or not thepredetermined input means is pressed in a state that the first object isdetermined to be indicated by the first object indication determiningmeans. The second object controlling means controls the second object toperform the processing related to the first object, when the operationstate determining means determines that the predetermined input means ispressed.

According to the game apparatus of example embodiments of the presentinvention also, in the same way as the storage medium of exampleembodiments of the present invention, the amusement of the game usingthe pointing device can be increased.

According to the game control method of example embodiments of thepresent invention, the input data is received from the pointing deviceincluding at least one input means, and a situation in the virtual gamespace after arithmetic processing by using this input data is displayedon the screen of a relevant display, comprising the steps of: (a)disposing the first object and the second object in the virtual gamespace; (b) detecting the position on the screen indicated by thepointing device; (c) determining whether or not the first object isindicated based on the pointing position detected in the step (b); (d)determining whether or not a predetermined input means is pressed in astate that it is so determined in the step (c) that the first object isindicated; and (e) controlling the second object to perform theprocessing related to the first object when it is so determined in thestep (d) that the predetermined input means is pressed.

According to the game control method of example embodiments the presentinvention also, in the same way as the storage medium of the exampleembodiments present invention, the amusement of the game by using thepointing device can be increased.

The above described features, aspects and advantages of exampleembodiments the present invention will become more apparent from thefollowing detailed description of example embodiments the presentinvention when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustrative view showing a game system of one exampleembodiment of the present invention;

FIG. 2 is a block diagram showing an electrical constitution of the gamesystem as shown in FIG. 1;

FIG. 3 is an perspective view showing a controller as shown in FIG. 1viewed from an upper face rearward and lower face rearward;

FIG. 4 is a front view showing the controller as shown in FIG. 1 viewedfrom the front;

FIG. 5 is a block diagram showing an electrical constitution of thecontroller as shown in FIG. 3;

FIG. 6 is an illustrative view for schematically explaining a state ofplaying a game by using the controller as shown in FIG. 1;

FIG. 7 is an illustrative view for explaining a visual angle of a markerand the controller as shown in FIG. 1;

FIG. 8 is an illustrative view showing an example of a photographingimage including an target object;

FIG. 9 is an illustrative view showing an example of a game screendisplayed on a monitor as shown in FIG. 1;

FIG. 10 is an illustrative view showing another example of the gamescreen displayed on the monitor as shown in FIG. 1;

FIG. 11 is an illustrative view showing still another example of thegame screen displayed on the monitor as shown in FIG. 1;

FIG. 12 is an illustrative view showing an example of a memory map of amain memory as shown in FIG. 2;

FIG. 13 is a flowchart showing a game entire processing of a CPU asshown in FIG. 2;

FIG. 14 is a flowchart showing a setting processing of a star object ofthe CPU as shown in FIG. 2;

FIG. 15 is a flowchart showing a part of a game operation processing ofthe CPU as shown in FIG. 2;

FIG. 16 is a flowchart of another part of the game operation processingof the CPU as shown in FIG. 2, following FIG. 15;

FIG. 17 is a flowchart of still another part of the game operationprocessing of the CPU as shown in FIG. 2, following FIG. 15 and FIG. 16;and

FIG. 18 is a flowchart of still another part of the game operationprocessing of the CPU as shown in FIG. 2, following FIG. 17.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Referring to FIG. 1, a game system 10 as one example embodiment of thepresent invention includes a video game apparatus 12. The video gameapparatus 12 includes an approximately cubic housing 14, and an opticaldisc drive 16 is provided on an upper end of the housing 14. Attached tothe optical disc drive 16 is an optical disc 18 as an example ofinformation storage medium storing a game program, etc. Provided on afront surface of the housing 14 is a plurality of (four in thisembodiment) connectors 20. Therese connectors 20 function to connect thecontroller 22 as a pointing device to the video game apparatus 12 bycable or radio through a cable (not shown) or a receiving unit 24. Asshown in FIG. 1, in this embodiment, the receiving unit 24 is connectedto the connector 20, and through the receiving unit 24, the controller22 is connected to the video game 12 by radio. Details of the controller22 will be explained later.

In this embodiment, according to this embodiment, radio communication isperformed between the video game apparatus 12 and the controller 22, andtherefore it is not originally preferable to use the term, “connection”.However, as the term expressing a connected state capable ofcommunicating between the video game apparatus 12 and the controller 22,the term for the cable communication is borrowed and the term“connection” is therefore used for convenience.

One or a plurality of (two in this embodiment) memory slots 28 areprovided on the front surface of the housing 14 and below the connector20. A memory card 30 is inserted into the memory slot 28. The memorycard 30 is used to load and store temporarily a game program, etc. readout from the optical disc 18 and save data on a game played with thegame system 10 (game result data or in-progress game data).

An AV cable connector (not shown) is provided on a rear surface of thehousing 14 of the video game apparatus. The connector is used to connecta monitor 34 to the video game apparatus 12 through the AV cable 32. Themonitor 34 is typically a color television receiver. The AV cable 32inputs a video signal from the video game apparatus 12 to a video inputterminal of a color TV and inputs a sound signal to a sound inputterminal. Accordingly, a game image of a three-dimensional (3D) videogame is displayed on a screen of the color TV (monitor) 34, and stereogame sounds such as game music and sound effects are output fromspeakers 34 a on both sides. Moreover, two markers 34 m and 34 n areprovided in the circumference of the monitor 34 (at an upper side inthis embodiment). The markers 34 m and 34 n are infrared LED and outputsinfrared light toward the front of the monitor 34, respectively.

In the game system 10, for a user or a game player to play a game (oranother application), the user firstly turns on the video game apparatus12, next selects an appropriate optical disk 18 in which the video game(or another application to be played) is stored, and then loads theoptical disk 18 into the disk drive 16 of the video game apparatus 12.Accordingly, the video game apparatus 12 starts executing the video gameor another application based on software stored in the optical disk 18.The user operates the controller 22 to provide input to the video gameapparatus 12. For example, the game or another application is started bymanipulating some section of the operating part 26. By manipulatinganother section of the operating part 26, it is possible to move amoving image object (player object) in a different direction or changethe viewpoint of the user (camera position) in a game world.

FIG. 2 is a block diagram showing an electrical structure of the videogame system 10 of FIG. 1 embodiment. The video game apparatus 12 isprovided with a central processing unit (hereinafter referred to as“CPU”) 36. The CPU 36 is also called computer or processor, andresponsible for entirely controlling the video game apparatus 12. TheCPU 36 or computer functions as a game processor and is connected with amemory controller 38 via a bus. The memory controller 38 mainly controlswriting to and reading from a main memory 40 connected via the bus,under control of the CPU 36. The memory controller 38 is connected witha GPU (Graphics Processing Unit) 42.

The GPU 42 constitutes a part of a rendering means and consists of asingle-chip ASIC, for example. It receives a graphics command (renderingorder) from the CPU 36 via the memory controller 38, and generates athree-dimensional (3D) game image according to the command by using ageometry unit 44 and a rendering unit 46. More specifically, thegeometry unit 44 carries out coordinate operation processes such asrotation, movement and transformation of various objects and objects ina three-dimensional coordinate system (consisting of a plurality ofpolygons. The polygon denotes a multangular plane defined by at leastthree vertex coordinates.) The rendering unit 46 subjects each polygonof various objects to image generating processes such as pasting atexture (pattern image). Accordingly, 3D image data to be displayed onthe game screen is generated by the GPU 42 and stored in a frame buffer48.

Incidentally, the GPU 42 obtains data (primitives or polygons, texturesetc.) required for the GPU 42 to execute the rendering command, from themain memory 40 via the memory controller 38.

The frame buffer 48 is a memory for rendering (accumulating) one frameof image data in a raster scan monitor 34, for example, and is updatedby the GPU 42 on a frame-by-frame basis. More specifically, the framebuffer 48 stores color information of an image in orderly sequence on apixel-by-pixel basis. The color information here is data of R, G, B andA, and for example, 8-bit R (red) data, 8-bit G (green) data, 8-bit B(blue) data and 8-bit A (alpha) data. Also, the A data is data on mask(mat image). A video I/F 58 described later reads out the data from theframe buffer 48 via the memory controller 38, thereby displaying a 3Dgame image on the screen of the monitor 34.

In addition, a Z buffer 50 has a capacity equivalent to the number ofpixels corresponding to the frame buffer 48× the number of bits of depthdata per pixel, and stores depth information or depth data (Z value) ofa dot corresponding to each storage position in the frame buffer 48.

Besides, both the frame buffer 48 and the Z buffer 50 may be formed withuse of one part of the main memory 40, and also may be provided withinthe GPU 42.

The memory controller 38 is also connected to an ARAM 54 via a DSP(Digital Signal Processor) 52. Thus, the memory controller 38 controlsnot only the main memory 40 but also writing to and/or reading from theARAM 54 as a sub-memory.

The DSP 52 functions as a sound processor and generates audio datacorresponding to sounds, voice or music required for the game by usingsound data (not illustrated) stored in the main memory 40 or audiowaveform data (not illustrated) written into the ARAM 54.

The memory controller 38 is further connected via the bus to interfaces(I/F) 56, 58, 60, 62 and 64. The controller I/F 56 is an interface forthe controller 22 connected to the video game apparatus 12 via thereceiving unit 24. More specifically, the receiving unit 24 receivesinput data sent from the controller 22, and the controller I/F 56applies the input data to the CPU 36 through the memory controller 38.It should be noted that in this embodiment, the input data includes atleast any one of operation data, acceleration data, and markercoordinate data described later. The video I/F 58 accesses the framebuffer 48 to read out the image data generated by the GPU 42 andprovides an image signal or image data (digital RGBA pixel values) tothe monitor 34 via the AV cable 32 (FIG. 1).

The external memory I/F 60 links a memory card 30 (FIG. 1) inserted intothe front surface of the video game apparatus 12, with the memorycontroller 38. This allows the CPU 36 to write data into the memory card30 or read out data from the memory card 30 via the memory controller38. The audio I/F 62 receives audio data provided by the DSP 52 via thememory controller 38 or an audio stream read out from the optical disk18, and provides the speaker 34 a of the monitor 34 with an audio signal(sound signal) corresponding to it.

Furthermore, the disk I/F 64 connects the disk drive 16 to the memorycontroller 38, which causes the CPU 36 to control the disk drive 16.Program data, texture data and the like read out by the disk drive 16from the optical disk 18 are written into the main memory 40 undercontrol of the CPU 36.

FIG. 3 and FIG. 4 show an example of an outer appearance of thecontroller 22. FIG. 3 (A) is a perspective view of the controller 22viewed from the rear side of the upper face thereof, and FIG. 3 (B) is aperspective view of the controller 22 viewed from the rear side of thelower face thereof. FIG. 4 is a front view of the controller 22 viewedfrom the front thereof.

Referring to FIG. 3 and FIG. 4, the controller 22 has a housing 22 aformed by plastic molding, for example. The housing 22 a is formed intoan approximately rectangular parallelepiped shape, having a size smallenough to be held by one hand of a user. As described above, the inputmeans (a plurality of buttons or switches) 26 are provided in thehousing 22 a (controller 22). Specifically, as shown in FIG. 3(A), on anupper face of the housing 22 a (controller 22), there are provided across key 26 a, an X-button 26 b, a Y-button 26 c, an A-button 26 d, aselect switch 26 e, a menu (home) switch 26 f, a start switch 26 g, anda power supply switch 26 h. Meanwhile, as shown in FIG. 3(B), a lowersurface of the housing 22 a has a concave portion, and a B-triggerswitch 26 i is provided on a rear-side inclined surface of the concaveportion.

The cross key 26 a is a four directional push switch, including fourdirections of front (or upper), back (or lower), right and leftoperation parts. By operating any one of the operation parts, it ispossible to instruct a moving direction of a character or object (playercharacter or player object) that is be operable by a player or instructthe moving direction of a cursor.

The X-button 26 b and the Y-button 26 c are respectively push buttonswitches, and are used for adjusting a viewpoint position and aviewpoint direction on displaying the 3D game image, i.e. a position andan image angle of a virtual camera. Alternatively, the X-button 26 b andthe Y-button 26 c can be used for the same operation as that of theA-button 26 d and the B-trigger switch 26 i or an auxiliary operation.

The A-button switch 26 d is the push button switch, and is used forcausing the player character or the player object to take an actionother than that instructed by a directional instruction, specificallyarbitrary actions such as hitting (punching), throwing, grasping(acquiring), riding, and jumping, etc. For example, in an action game,it is possible to give an instruction to jump, punch, move a weapon, andso forth. Also, in a roll playing game (RPG) and a simulation RPG, it ispossible to instruct to acquire an item, select and determine the weaponand command and so forth.

The select switch 26 e, the menu switch 26 f, the start switch 26 g, andthe power supply switch 26 h are also push button switches. The selectswitch 26 e is used for selecting a game mode. The menu switch 26 f isused for displaying a game menu (menu screen). The start switch 26 g isused for starting (re-starting) or temporarily posing the game. Thepower supply switch 26 h is used for turning on/off a power supply ofthe video game apparatus 12 by remote control.

In this embodiment, not that the power switch for turning on/off thecontroller 22 itself is not provided, and the controller 22 is set aton-state by operating any one of the switches or buttons of the inputmeans 26 of the controller 22, and when not operated for a certainperiod of time (30 seconds, for example) or more, the controller 22 isautomatically set at off-state.

The B-trigger switch 26 i is also the push button switch, and is mainlyused for inputting a trigger such as shooting and designating a positionselected by the controller 22. In a case that the B-trigger switch 26 iis continued to be pressed, it is possible to make movements andparameters of the player object constant. In a fixed case, the B-triggerswitch 26 i functions in the same way as a normal B-button, and is usedfor canceling the action determined by the A-button 26 d.

In addition, an external expansion connector 22 b is provided on a backend surface of the housing 22 a, and an indicator 22 c is provided onthe top surface and the back end surface of the housing 22 a of thehousing 22 a. The external expansion connector 22 b is utilized forconnecting another controller not shown. The indicator 22 c is made upof four LEDs, for example, and shows identification information(controller number) of the controller 22 by lighting any one of the fourLEDs.

In addition, the controller 22 has an imaged information arithmeticsection 80 (see FIG. 5), and as shown in FIG. 4, on the front endsurface of the housing 22 a, light incident opening 22 d of the imagedinformation arithmetic section 80 is provided.

Note that as shown in FIG. 3, the shape of the controller 22 and theshape, number and setting position of each input means 26 are simplyexamples, and needless to say, even if they are suitably modified,example embodiments of the present invention can be realized.

FIG. 5 is a block diagram showing the electric configuration of thecontroller 22. Referring to FIG. 5, the controller 22 includes amicrocomputer 70, and the microcomputer 70 is connected with an inputmeans 26, a memory 72, an acceleration sensor 74, and a radio module 76by an internal bus (not shown). Moreover, an antenna 78 is connected tothe radio module 76.

Although illustration is omitted, as described above the externalexpansion connector 22 b and indicator 22 c (LED) are also connectedwith the microcomputer 70 via an interface or a driver.

The microcomputer 70 is in charge of an overall control of thecontroller 22, and transmits (inputs) information (input information)inputted by the input means 26 and the acceleration sensor 74 as inputdata, to the video game apparatus 12 via the radio module 76 and theantenna 78. At this time, the microcomputer 70 uses the memory 72 as aworking area or a buffer area.

An operation signal (operation data) from the aforementioned input means26 (26 a to 26 i) is inputted to the microcomputer 70, and themicrocomputer 70 stores the operation data once in the memory 72.

Moreover, the acceleration sensor 74 detects each acceleration indirections of three axes of vertical direction (y-axial direction shownin FIG. 3), lateral direction (x-axial direction shown in FIG. 3), andforward and rearward directions (z-axial direction shown in FIG. 3). Theacceleration sensor 74 is typically an acceleration sensor of anelectrostatic capacity type, but the acceleration sensor of other typemay also be used.

For example, the acceleration sensor 74 detects the accelerations (ax,ay, az) in each direction of x-axis, y-axis, z-axis for each firstpredetermined time (such as 200 msec), and inputs the data of theacceleration (acceleration data) thus detected in the microcomputer 70.For example, the acceleration sensor 74 detects the acceleration in eachdirection of the axes in a range from −2.0 g to 2.0 g (g indicates agravitational acceleration. The same thing can be said hereafter.). Themicrocomputer 70 detects the acceleration data given from theacceleration sensor 74 for each second predetermined time (for example,1 frame: each screen update unit time ( 1/60 sec)), and stores it in thememory 72 once. The microcomputer 70 generates input data including atleast one of the operation data, acceleration data and the markercoordinate data, and transmits the input data thus generated to thevideo game apparatus 12 for each third predetermined time (1 frame).

In this embodiment, although omitted in FIG. 3, the acceleration sensor74 is provided inside the housing 22 a and in the vicinity of a placewhere the cross key 26 a is arranged.

The radio module 76 modulates a carrier of a predetermined frequency bythe input information data, by using a technique of Bluetooth, forexample, and emits its weak radio wave signal from the antenna 78.Namely, the input data is modulated to the weak radio wave signal by theradio module 76 and transmitted from the antenna 78 (controller 22). Theweak radio wave signal thus transmitted is received by a Bluetoothcommunication unit 66 loaded on the aforementioned video game apparatus12. The weak radio wave thus received is subjected to demodulating anddecoding processing, thus making it possible for the video gameapparatus 12 (CPU 36) to acquire the input data from the controller 22.Then, the CPU 36 performs game processing, following the input data andthe program (game program).

In addition, as described above, the controller 22 is provided with theimaged information arithmetic section 80. The imaged informationarithmetic section 80 is made up of an infrared rays filter 82, a lens84, an imager 86, and an image processing circuit 88. The infrared raysfilter 82 passes only infrared rays from the light incident from thefront of the controller 22. As described above, the markers 34 m and 34n placed near (around) the display screen of the monitor 34 are infraredLEDs for outputting infrared lights forward the monitor 34. Accordingly,by providing the infrared rays filter 82, it is possible to image theimage of the markers 34 m and 34 n more accurately. The lens 84condenses the infrared rays passing thorough the infrared rays filter 82to emit them to the imager 86. The imager 86 is a solid imager, such asa CMOS sensor and a CCD, for example, and images the infrared rayscondensed by the lens 80 b. Accordingly, the imager 86 images only theinfrared rays passing through the infrared rays filter 82 to generateimage data. Hereafter, the image imaged by the imager 86 is called an“imaged image”. The image data generated by the imager 86 is processedby the image processing circuit 88. The image processing circuit 88calculates a position of an object to be imaged (markers 34 m and 34 n)within the imaged image, and outputs each coordinate value indicative ofthe image to the microcomputer 70 as imaged data for each fourthpredetermined time (one frame, for example). It should be noted that adescription of the image processing circuit 88 is made later.

FIG. 5 is an illustrative view summarizing a state when a player plays agame by utilizing a controller 22. As shown in FIG. 5, when playing thegame by means of the controller 22 in the video game system 10, theplayer holds the controller 22 with one hand. Strictly speaking, theplayer holds the controller 22 in a state that the front end surface(the side of the incident light opening 22 d of the light imaged by theimaged information arithmetic section 80) of the controller 22 isoriented to the markers 34 m and 34 n. It should be noted that as can beunderstood from FIG. 1, the markers 34 m and 34 n are placed in parallelwith the horizontal direction of the screen of the monitor 34. In thisstate, the player performs a game operation by changing a position onthe screen indicated by the controller 22, and changing a distancebetween the controller 22 and each of the markers 34 m and 34 n.

FIG. 6 is a view showing viewing angles between the respective markers34 m and 34 n, and the controller 22. As shown in FIG. 6, each of themarkers 34 m and 34 n emits infrared ray within a range of a viewingangle θ1. Also, the imager 86 of the imaged information arithmeticsection 80 can receive incident light within the range of the viewingangle θ2 taking the line of sight of the controller 22 as a center. Forexample, the viewing angle θ1 of each of the markers 34 m and 34 n is 34degrees (half-value angle) while the viewing angle θ2 of the imager 86is 41 degrees. The player holds the controller 22 such that the imager86 is directed and positioned so as to receive the infrared rays fromthe markers 34 m and 34 n. More specifically, the player holds thecontroller 22 such that at least one of the markers 34 m and 34 n existsin the viewing angle θ2 of the imager 80 c, and the controller 22 existsin at least one of the viewing angles θ1 of the marker 34 m or 34 n. Inthis state, the controller 22 can detect at least one of the markers 34m and 34 n. The player can perform the game operation by changing theposition and the orientation of the controller 22 in the rangesatisfying the state.

If the position and the orientation of the controller 22 are out of therange, the game operation based on the position and the orientation ofthe controller 22 cannot be performed. Hereafter, the above-describedrange is called an “operable range”

If the controller 22 is held within the operable range, an image of eachof the markers 34 m and 34 n is imaged by the imaged informationarithmetic section 80. That is, the imaged image obtained by the imager86 includes an image (object image) of each of the markers 34 m and 34 nas an object to be imaged. FIG. 7 is a view showing one example of theimaged image including an object image. The image processing circuit 88calculates coordinates (marker coordinates) indicative of the positionof each of the markers 34 m and 34 n in the imaged image by utilizingthe image data of the imaged image including the object image.

Since the object image appears as a high-intensity part in the imagedata of the imaged image, the image processing circuit 88 first detectsthe high-intensity part as a candidate of the object image. Next, theimage processing circuit 88 determines whether or not the high-intensitypart is an object image on the basis of the size of the detectedhigh-intensity part. The imaged image may include images other than theobject image due to sunlight through a window and light of a fluorescentlamp in the room as well as the images 34 m′ and 34 n′ of the twomarkers 34 m and 34 n as an object image. The determination processingwhether or not the high-intensity part is an object image is executedfor discriminating the images 34 m′ and 34 n′ of the two markers 34 mand 34 n as an object image from the images other than them, andaccurately detecting the object image. More specifically, in thedetermination process, it is determined whether or not the detectedhigh-intensity part is within the size of the preset predeterminedrange. Then, if the high-intensity part is within the size of thepredetermined range, it is determined that the high-intensity partrepresents the object image. On the contrary, if the high-intensity partis not within the size of the predetermined range, it is determined thatthe high-intensity part represents the images other than the objectimage.

In addition, as to the high-intensity part which is determined torepresent the object image as a result of the above-describeddetermination processing, the image processing circuit 88 calculates theposition of the high-intensity part. More specifically, the barycenterposition of the high-intensity part is calculated. Here, the coordinatesof the barycenter position is called a “marker coordinate”. Also, thebarycenter position can be calculated with more detailed scale than theresolution of the imager 86. Now, the resolution of the imaged imageimaged by the imager 86 shall be 126×96, and the barycenter positionshall be calculated with the scale of 1024×768. That is, the markercoordinate is represented by the integer from (0, 0) to (1024, 768).

Additionally, the position in the imaged image shall be represented by acoordinate system (XY coordinate system) taking the upper left of theimaged image as an origin point, the downward direction as an Y-axispositive direction, and the right direction as an X-axis positivedirection.

Also, if the object image is properly detected, two high-intensity partsare determined as an object image by the determination process, andtherefore, two marker coordinates are calculated. The image processingcircuit 80 d outputs data indicative of the calculated two markercoordinates. The data (marker coordinate data) of the output markercoordinates is included in the input data by the microcomputer 70 asdescribed above, and transmitted to the video game apparatus 12.

The video game apparatus 12 (CPU 36) detects the marker coordinate datafrom the received input data to thereby calculate an instructed position(instructed coordinate) by the controller 22 on the screen of themonitor 34 and a distance from the controller 22 to each of the markers34 m and 34 n on the basis of the marker coordinate data. Morespecifically, the position of the mid point of the two markercoordinates is adopted (calculated) as a position to which thecontroller 22 faces, that is, an instructed position. The distancebetween the object images in the imaged image is changed depending onthe distance between the controller 22 and each of the markers 34 m and34 n, and therefore, the video game apparatus 12 can grasp the distancebetween the controller 22 and each of the markers 34 m and 34 n bycalculating the distance between the two marker coordinates.

Next, an explanation will be given to the game screen of a virtual gameplayed by using the game system 10 having the above-describedconstitution and the game operation of the player in the virtual game.FIG. 9 to FIG. 11 show examples of a game screen 100 displayed on themonitor 34.

As shown in FIG. 9 (A) and FIG. 9 (B), a player object 102, star objects104 (104 a, 104 b, 104 c, 104 d) and planet objects 106 (106 a, 106 b,106 c) are displayed on the game screen 100, and a cursor image 110 isdisplayed in the indicated coordinates of the controller 22.

Hereunder, in this specification, the star objects 104 a to 104 d arecollectively called a star object 104, and the planet objects 106 a to106 c are collectively called a planet object 106 as needed.

The player can move the player object 102 by connecting the playerobject 102 and the star object 104, thereby allowing the player object102 to approach the star object 104 (drawing the player object 102 onthe star object 104), or changing the star object 104 to be connected.In FIG. 9 (A), the player object 102 exists on the planet object 106 a.Here, the player moves (swings) the controller 22, thereby moving thecursor image 110, to allow the cursor image 110 to come in contact witha desired star object 104 a or overlap thereon, to select this starobject 104 a. At this time, the player only indicates the displayposition of the desired star object 104 a on the game screen 100 by thecontroller 22, and the input means 26 of the controller 22 is absolutelynot operated. Then, the star object 104 a selected (indicated) isdetermined as a candidate object capable of being connected to theplayer object 102. Then, as shown in FIG. 9 (B), a display of the starobject 104 a as the candidate object is changed so as to be visiblyidentified by the player. As is clarified from FIG. 9 (B), although thecandidate object is shown by being painted out with black color,actually, it is shown by performing color inversion, color emphasis, andchanging the image. The same thing can be said hereunder.

Although not shown, when other object exists between the player object102 and the star object 104 indicated by the player, this star object104 is not determined as the candidate object.

In this embodiment, when the candidate object is determined, as long asthis candidate object is not determined as an object is connected to theplayer object 102 (target object), the state as the candidate object iscontinued for a fixed period of time (such as 300 frames). After a fixedperiod of time elapses, the sate (setting) as the candidate object iscanceled. In this way, by continuing the state as the candidate objectfor a fixed period of time, a time margin until performing the operationof determining a certain star object as the target object is ensured forthe player. A certain star object 104 is determined as the candidateobject only for a fixed period of time, so as to cancel the selectionand select other star object 104 as the candidate object when anundesired star object 104 is selected as the candidate object.

As shown in FIG. 9 (B), by operating a predetermined button (in thisembodiment, B-trigger switch 26 i) by the player when the candidateobject is determined, this candidate object is determined (settled) asthe star object 104 (called “target object” hereunder) to be connectedto the player object 102. Namely, under a state that the candidateobject is selected, the candidate object can be settled as the targetobject, regardless of the pointing position of the controller 22.Accordingly, for example, when the B-trigger switch 26 i of thecontroller 22 is on, and shaking of the controller 22 occurs to deviatethe pointing position of the controller 22 from the display position ofthe candidate object (effective range coordinates), the target objectcan be settled if the input data can be transmitted to the video gameapparatus 12. Whereby, the operation of a predetermined button forsettling the candidate object as the target object can be surelyperformed, and operability can be improved.

Then, as shown in FIG. 10 (A), the player object 102 and the targetobject (here, star object 104 a) are connected to each other by a lineobject 108. In this state, when the player continues to press apredetermined button (in this embodiment, B-trigger switch 26 i), anattracting force of the target object works, and the player object 102is moved toward this target object. At this time, The line object 108 isshortened in accordance with a movement of the player object 102.Accordingly, as shown in FIG. 10 (B), the player object 102 approachesthe target object.

Note that although the figure hardly reveals, when the B-trigger switch26 i is released, the attracting force of the target object does notwork, and the player object 102 is accordingly stopped.

Also, although a detailed explanation is omitted, in this embodiment,when the distance in a three-dimensional game space between the playerobject 102 and the selected candidate object is set apart beyond apredetermined distance, even when the B-trigger switch 26 i is pressed,this candidate object is not determined as the target object. This isbecause if the player object 102 moves a far distance beyond apredetermined distance at once, lack of amusement in game occurs.

Here, the speed (moving speed) required for the player object 102 tomove is calculated for each frame. Specifically, the moving speed iscalculated according to Equation 1. However, V′ is the moving speed ofthe next frame, S is center coordinates (two-dimensional coordinates) ofthe target object, M is current (current frame) positional coordinates(two-dimensional coordinates) of the player object 102, V is the movingspeed of the current frame of the player object 102, a is the attractingforce of the target object, and r (0<r<1) is a damping factor of amoving speed V′ of the current frame.V′=[V+{(S−M)/|S−M|}×a]×r  [Equation 1]

Note that { } shows a normalization of vector.

In addition, as the player object 102 approaches the target object, theplayer object 102 is easily decelerated, and therefore an attractingforce a and a damping factor r are calculated (updated) for each frameaccording to the Equation 2. However, d is the distance (two-dimensionaldistance) between the player object 102 and the target object, k is athreshold value for determining whether or not the attracting force aand the damping factor r are updated (calculated), b is a basicattracting force, c (c>b) is the attracting force when satisfyingdistance d=0, g (0≦g≦1) is a basic damping factor, h (0≦h≦1, g<h) is thedamping factor when satisfying d=0. Also, k, b, c, g, and h are fixednumbers.

When satisfying d<k,a=b×t+c×(1−t)f=g×t+h×(1−t)t=d/k  [Equation 2]when satisfying d>k,a=bf=g

Further, as shown in FIG. 11 (A), when the player object 102 and thetarget object are connected by the line object 108 also, the player canmove the controller 22, thereby moving the cursor image 110, to selectother star object 104 (here, 104 b, 104 c, and 104 d) as the candidateobject.

Although not shown, when the player object 102 and the target object areconnected by the line object 108, the player can select the candidateobject by moving the cursor image 110 by the controller 22, regardlessof whether or not the player object 102 is moved.

As shown in FIG. 11 (A), when the player executes a predeterminedoperation in a state that the star object 104 b is selected as thecandidate object, the star object 104 b is determined (settled) as thetarget object. Namely, the target object is changed to the star object104 b from the star object 104 a. Accordingly, the player object 102 andthe star object 104 b are connected by the line object 108.

Here, the aforementioned predetermined operation will be explained. Inthe game screen 100 as shown in FIG. 10 (A), when the player continuesto press the B-trigger switch 26 i and makes the player object 102approach the star object 104 a, the predetermined operation means theoperation of releasing the B-trigger switch 26 i once and pressing itagain. Namely, in this case, the player turns on the B-trigger switch 26i after turning it off. However, in the game screen 100 as shown in FIG.10 (A), when the B-trigger switch 26 i is released and the player object102 is stopped, the predetermined operation means the operation ofpressing the B-trigger switch 26 i. Namely, in this case, the playeronly turns on the B-trigger switch 26 i.

Note that as described above, the target object can be settled under astate that the candidate object is selected, regardless of the pointingposition of the controller 22.

In this way, the player allows the player object 102 to move in the gamespace, by changing the candidate object and the target object, or makingthe player object 102 approach the target object. For example, theplayer object 102 is moved from a planet object 106 a to a planet object106 b, or to planet object 106 c.

FIG. 12 is a memory map of a main memory 40 as shown in FIG. 2. As shownin FIG. 12, the main memory 40 includes a program memory area 90 and adata memory area 92. The program memory area 90 stores a game program,and this game program is composed of a game main processing program 90a, a game image generation program 90 b, a game image display program 90c, a star object setting program 90 d, an input data detecting program90 e, a game operation program 90 f, and a viewpoint position controlprogram 90 g, etc.

The game main processing program 90 a is the program for processing amain routine of the virtual game. The game image generation program 90 bis the program for generating the game image including in the game spaceof the virtual game moving image objects such as the player object 102and an enemy object (not shown), or background objects such as starobjects 104, planet objects 106, line object 108, or the cursor image110. The game image display program 90 c is the program for outputtingthe game image generated by the game image generation program 90 b, anddisplaying the game screen in the monitor 34.

The star object setting program 90 d is the program for perspectivelyprojecting the star object 104 arranged in the three-dimensional gamespace onto a two-dimensional virtual screen so as to be displayed on thegame screen, and storing (setting) in the data memory area 92 centercoordinate data 92 c on the center coordinates of the star object 104converted into two-dimensional coordinates by perspectively projectingand effective range coordinate data 92 d on the coordinates in theeffective range.

However, the effective range is the range for determining whether or notthe indicated coordinates of the controller 22 indicates the star object104. For example, when the effective range is set in the same size (sameshape) as that of the star object 104, all coordinate data included inthe display area of the star object 104 are stored. However, theeffective range can be set as a simple figure (circle and rectangle)surrounding the star object 104. In this case, it is not necessary tostore all the coordinate data included in this figure. For example, whenthe effective range is set by the circle, the data of the centercoordinates of this circle and the data of radius are stored. Also, whenthe effective range is set by the rectangle (square and oblong), thedata of apex coordinates of this rectangle is stored.

In addition, the star object setting program 90 d determines whether ornot other object exists between the player object 102 and the starobject 104 in the game space converted into two-dimensional coordinates(or three-dimensional game space). Then, when other object existsbetween the player object 102 and the star object 104, the star objectsetting program 90 d so sets that this star object 104 can not beselected as the candidate object. Meanwhile, when other object does notexist between the player object 102 and this star object 104, the starobject setting program 90 d so sets that this star object 104 can beselected as the candidate object. Specifically, a priority flag 92 g forthe star object 104 is established (turned on) or not-established(turned off).

However, instead of the player object 102, whether or not other objectexists between a viewpoint (virtual camera) and the star object 104 maybe determined.

The input data detection program 90 e is the program for detecting theinput data from the controller 22 for each predetermined time period(one frame). Specifically, the input data detection program 90 e readsthe input data temporarily stored in a buffer (not shown) of acontroller I/F 56 for each one frame, and stores the read input data inthe data storage region 92. However, when the input data is nottemporarily stored in the buffer of the controller I/F 56, the inputdata detection program 90 e stores nothing in the data memory area 92.

The game operation program 90 f is the program for moving the playerobject 102 in the game space according to the operation of the player,and in the coursed of the process, the star object 104 selected by theplayer is determined as the candidate object, and the star object 104being the candidate object is determined as the target object. Theviewpoint position control program 90 g is the program for setting(updating) the three-dimensional position of the viewpoint (virtualcamera) set in the game space, according to the movement of the playerobject 102. In addition, the viewpoint position control program 90 gsometimes controls not only the three-dimensional position of theviewpoint but also the direction of the viewpoint.

Note that although not shown, the program memory area 90 stores an audiooutput program and a backup program, and so forth. The audio outputprogram is the program for outputting a sound required for the game suchas game sound (BGM) voice or imitative sound of the object, and a soundeffect. Also, the backup program is the program for saving the game datain the memory card 30.

The data memory area 92 stores the image data 92 a, input data 92 b,center coordinate data 92 c, effective range coordinate data 92 d,candidate object data 92 e, target object data 92 f, priority flag 92 g,and input flag 92 h, etc, and is provided with a candidate timer 92 i.

The image data 92 a is the data for generating the aforementioned gameimage (such as polygon and texture). As described above, the input data92 b is the data including at least one of the operation data,acceleration data, and marker coordinate data, and is updated accordingto the input data detection program 90 e.

The center coordinate data 92 c is the data on the center coordinates ofthe star object 104 (such as 104 a to 104 d) set according to the starobject setting program 90 d, and is stored corresponding to each starobject 104. In addition, the effective range coordinate data 92 c is thedata on all of the coordinates included in the effective range of thestar object 104 (104 a to 104 d) set according to the star objectsetting program 90 e, and is stored corresponding to each star object104.

The candidate object data 92 e is the data on identification informationof the star object 104 indicated by the controller 22, and is stored anddeleted according to the game operation program 90 f. However, the gameoperation program 90 f does not delete this candidate object data 92 euntil a fixed time period elapses or the target object is determined,after the candidate object data 92 e is stored once.

When the candidate object is determined, the target object data 92 f isthe data on the identification information of the star object 104determined to be the target object by turning on the B-trigger switch 26i of the controller 22, and is stored (updated) according to the gameoperation program 90 f.

The priority flag 92 g is the flag for determining whether or not otherobject exists between the player object 102 and the star object 104. Inother words, the priority flag 92 g is the flag for determining whetheror not the star object 104 is prioritized. Accordingly, the priorityflag 92 g is provided for each star object 104. However, strictlyspeaking, the priority flag 92 g is corresponded to the two-dimensionalcoordinates (effective range coordinate data 92 d) of each star object104. At this time, the priority flag 92 g may be set corresponding toeach of a plurality of effective range coordinates set in each starobject 104. In this state, for example, when other object exists betweenthe player object 102 and a part of the star objects 104, setting of thepriority flag 92 g can be changed between a part of the star object 104and other part. Accordingly, the following processing can be realized.Namely, when a part of the star objects 104 is indicated by thecontroller 22, this star object 104 can not be selected, but when otherpart is indicated, this star object 104 can be selected.

Note that in order to easily determine the star object 104 correspondingto the indicated coordinates of the controller 22, the two-dimensionalcoordinates of the star object 104 are corresponded.

In addition, each priority flag 92 g is constituted of a register of onebit, and its data value is set (updated) in accordance with the starobject setting program 90 d. When other object exits between the playerobject 102 and the star object 104, the priority flag 92 g correspondingto this star object 104 is off, and the data value “0” is set in the bitof the register. Meanwhile, when other object does not exist between theplayer object 102 and the star object 104, the priority flag 92 gcorresponding to this star object 104 is on so as to prioritize thisstar object 104, and the data value “1” is set in the bit of theregister.

The input flag 92 h is the flag for determining whether or not thepredetermined input means 26 (in this embodiment, the B-trigger switch26 i) is pressed. This input flag 92 h is constituted of the register ofone bit, for example, and its data value is set (updated) according tothe game operation program 90 f. When the B-trigger switch 26 i ispressed, namely, when the operation data shows that the B-trigger switch26 i is turned on, the input flag 92 h is on, and the data value “1” isset in the bit of the register. Meanwhile, when the B-trigger switch 26i is not pressed, namely, when the operation data shows that theB-trigger switch 26 i is turned off, the input flag 92 h is off, and thedata value “0” is set in the bit of the register.

A candidate timer 92 i is the timer for counting a fixed period of timeduring that the candidate object is determined. For example, when thecandidate object is determined, namely, when the candidate object data92 e is stored in the data memory area 92, a fixed period of time (suchas 300 frames) is set in the candidate timer 92 i. Then, as long as thecandidate object is not determined as the target object, the candidatetimer 92 i is counted down for each one frame. Then, when the candidatetimer 92 i indicates that time is up, the candidate object data 92 e isdeleted.

Although not shown, the data memory area 92 also stores the game dataand sound data or other flag, etc.

Specifically, the CPU 36 as shown in FIG. 2 executes game entireprocessing shown in FIG. 13. As shown in FIG. 3, when the game entireprocessing is executed, the CPU 36 executes initialization in a step S1.Here, a buffer area of the main memory 40 is cleared and each kind offlag is off. In a next step S3, the object is disposed within the gamespace. Namely, the objects such as player object 102, star object 104,and planet object 106 are generated.

Subsequently, in a step S5, the game space viewed from the viewpoint isdrawn as the game image. Namely, the game space is photographed by thevirtual camera, and the image thus photographed is converted intotwo-dimensional camera coordinates, with the virtual camera set as anorigin. In other words, the game space viewed from the viewpoint isperspectively projected on a virtual screen. Next, in a step S7, settingprocessing (FIG. 14) of the star object as will be described later isexecuted, and in a step S9, the input data 92 b is acquired (detected).

When the input data is acquired, in a step S11, the game operationprocessing as will be described later (FIG. 15 to FIG. 18) is executed,and in a step S13, viewpoint position control processing is executed.Next, in a step S15, according to Equation 1 and Equation 2, movingspeed calculation processing is executed. Then, in a step S117, whetheror not the game is ended is determined. Namely, whether or not a gameend is indicated by the player, or whether or not the game is over isdetermined. If “NO” in the step S17, namely, when the game is not ended,the processing is returned to the step S5 as it is. Meanwhile, if “YES”in the step S17, namely, when the game is ended, the game entireprocessing is ended as it is.

FIG. 14 is a flowchart showing the setting processing of the star objectin the step S7 shown in FIG. 13. As shown in FIG. 13, when the settingprocessing of the star object is started, the CPU 36 sets the centercoordinates and effective range coordinates of each star object 104 (104a to 104 d) in a step S31. However, the coordinates of the centercoordinates and the coordinates of the effective range set in this stepS31 are three-dimensional coordinates. Accordingly, when the effectiverange is set by the aforementioned circle and rectangle, thethree-dimensional effective range is set as a spherical body, a cubicbody, and a rectangular prismatic body surrounding the star object 104.

In a next step S33, the center coordinates and the effective rangecoordinates set in the step S31 are converted into two-dimensionalcoordinates. Namely, the center coordinates and the effective rangecoordinates are converted into the two-dimensional coordinates forperspectively projecting them on the virtual screen. Subsequently, in astep S35, the two-dimensional coordinates thus converted are storedcorresponding to the star object 104. Namely, the center coordinate data92 c and the effective range coordinate data 92 d on the star object 104are stored in the data memory area 92 of the main memory 40.

Subsequently, in a step S37, it is determined whether or not otherobject exists between the player object 102 and the star object 104. If“YES” in the step S37, namely, when other object exists between theplayer object 102 and the star object 104, the priority flag 92 gcorresponding to the two-dimensional coordinates (effective rangecoordinate data 92 d) of this star object 104 is off in a step S39, andthe processing is returned to the game entire processing as shown inFIG. 13. Meanwhile, if “NO” in the step S37, namely, when other objectdoes not exist between the player object 102 and the star object 104,the priority flag 92 g corresponding to the two-dimensional coordinates(effective range coordinate data 92 d) of this star object 104 is on ina step S41, and the processing is returned to the game entireprocessing.

FIG. 15 to FIG. 18 are flowcharts showing the game operation processingin the step S11 shown in FIG. 13. As shown in FIG. 15, when the gameoperation processing is started, the CPU 36 calculates the indicatedcoordinates in a step S51. Here, the CPU 36 detects the markercoordinate data included in the input data 92 b, and base on this markercoordinate data, calculates the indicated coordinates of the controller22. In a subsequent step S53, the cursor image 110 is displayed on theindicated coordinates of the controller 22.

Subsequently, in a step S55, it is determined whether or not theindicated coordinates are within the effective range of the star object104. Namely, it is determined whether or not the indicated coordinatesare included in the coordinates shown by the effective range coordinatedata 92 d. However, as described above, since the star object 104 isindicated in the cursor image 110, whether or not the cursor image 110comes in contact with the star object 104 or overlaps thereon may bedetermined. If “NO” in the step S55, namely, when the indicatedcoordinates are outside of the effective range of the star object 104,the processing is advanced to a step S63 shown in FIG. 16. Meanwhile, if“YES” in the step S55, namely, when the indicated coordinates are withinthe effective range of the star object 104, it is determined whether ornot the priority flag 92 g corresponding to the two-dimensionalcoordinates (effective range coordinates) of this star object 104 isturned on in a step S57.

If “NO” in the step S57, namely, when the priority flag 92 gcorresponding to the two-dimensional coordinates of this star object 104is turned off, it is so determined that this star object 104 can not beset (determined) as the candidate object, and the processing is advancedto the step S63 as it is. Meanwhile, if “YES” in the step S57, namely,when the priority flag 92 g corresponding to the two-dimensionalcoordinates of this star object 104 is on, this star object 104 is set(determined) as the candidate object in a step S59. Namely, the data ofthe identification information of this star object 104 is stored in thedata memory area 92 as the candidate object data 92 e. At this time,when the data of the identification information of other star object 104is stored in the data memory area 92 as the candidate object data 92 e,the content of the candidate object data 92 e may be rewritten into thedata of the identification information of the star object 104 indicatedthis time, or may not be rewritten. When it is not rewritten, the starobject 104 indicated after the candidate object is deleted in a step S69as will be described later is made to be freely set (written). Then, ina step S61, by setting the candidate timer 92 i, the processing isadvanced to a step S71 as shown in FIG. 17. For example, in the stepS61, a fixed period of time (300 frames) is set in the candidate timer92 i.

As described above, if “NO” in the step S55 or the step S57, and asshown in FIG. 16, when the processing is advanced to the step S63, it isdetermined whether or not the candidate object is set. Here, it isdetermined whether or not the candidate object data 92 e is stored inthe data memory area 92. If “NO” in the step S63, namely, when thecandidate object is not set, the processing is advanced to the step S71as it is. Meanwhile, if “YES” in the step S63, namely, when thecandidate object is set, the candidate timer 92 i is decremented by one(frame) in a step S65.

In a subsequent step S67, it is determined whether or not a count valueof the candidate timer 92 i is 0 or less. Namely, it is determinedwhether or not a fixed period of time elapses. If “NO” in the step S67,namely, when the fixed period of time does not elapse, the processing isadvanced to the step S71 as it is, so as to maintain a setting state ofthe candidate object. Meanwhile, if “YES” in the step S67, namely, whenthe fixed period of time elapses, the candidate object, namely, thecandidate object data 92 e is deleted from the data memory area 92 inthe step S69, and the processing is advanced to the step S71.

As shown in FIG. 17, in the step S71, it is determined whether or notthe B-trigger switch 26 i is pressed. Namely, it is determined whetheror not the operation data included in the input data 92 b detected inthe step S9 of the game entire processing shows that the B-triggerswitch 26 i is turned on. If “NO” in the step S71, namely, when theB-trigger switch 26 i is not pressed, the input flag 92 h is off in astep S73, and the target object, namely, the target object data 92 f isdeleted from the data memory area 92 in a step S75, and the processingis advanced to a step S87 as shown in FIG. 18. However, when the targetobject is already deleted, the processing in the step S75 is notexecuted.

However, in the step S71, if “YES”, namely, when the B-trigger switch 26i is pressed, it is determined whether or not the input flag 92 h isturned on in a step S77. Namely, it is determined whether or not theB-trigger switch 26 i is kept pressed. If “YES” in the step S77, namely,when the input flag 92 h is turned on, it is so determined that theB-trigger switch 26 i is kept pressed, and the processing is advanced tothe step S87. Meanwhile, if “NO” in the step S77, namely, when the inputflag 92 h is turned off, it is so determined that the B-trigger switch26 i is on this time, and the input flag 92 h is turned on in a stepS79.

Subsequently, in a step S81, it is determined whether or not thecandidate object is set. If “NO” in the step S81, namely, when thecandidate object is not set, the processing is advanced to the step S87as it is. Meanwhile, if “YES” in the step S81, namely, when thecandidate object is set, it is determined whether or not the distancebetween the player object 102 and the candidate object is within apredetermined distance in a step S83.

If “NO” in the step S83, namely, when the distance between the playerobject 102 and the candidate object exceeds the predetermined distance,the processing is advanced to the step S87 as it is. Meanwhile, if “YES”in the step S83, namely, when the distance between the player object 102and the candidate object is within the predetermined distance, the starobject 104 of the candidate object is set (determined) as the targetobject in a step S85, and the processing is advanced to the step S87.For example, in the step S85, after the candidate object data 92 e iscopied as the target object data 92 f, this candidate object data 92 eis deleted.

As shown in FIG. 18, in the step S87, it is determined whether or notthe target object is set. Namely, it is determined whether or not thetarget object data 92 f is stored in the data memory area 92. If “NO” inthe step S87, namely, when the target object is not set, the processingis returned to the game entire processing shown in FIG. 13 as it is.Meanwhile, if “YES” in the step S87, namely, when the target object isset, in a step S89, the player object 102 is moved to approach thetarget object at a speed V′ of the previous frame calculated in the stepS15 of the game entire processing, and the processing is returned to thegame entire processing. Namely, in the step S89, positional coordinatesof the player object 102 are updated in accordance with Equation 3.However, M′ is the positional coordinate of the player object 102.M′=M+V′  [Equation 3]

According to this embodiment, the target object is determined by usingthe controller and the player object is moved to approach the determinedtarget object. Therefore, the player object is allowed to perform theprocessing in accordance with the target object. Accordingly, theamusement in the game by using the pointing device can be increased.

Note that in this embodiment, when the B-trigger switch is pressed, thetarget object is determined, and with the target object determined, whenthe B-trigger switch is kept pressed, the player object is moved toapproach the target object. However, other button or switch may be usedas the input means, and a different button or switch may be used betweencases when the target object is determined and when the player object ismoved.

Also, when the B-trigger switch is kept pressed, the player object ismoved to approach the target object. However, it is not necessary tokeep the B-trigger switch pressed. For example, when the B-triggerswitch is pressed, the player object may start to move, and when theB-trigger switch is pressed next, the player object may stop moving.

Further, according to this embodiment, whichever star object isdetermined as the target object, this target object is connected to theplayer object by the line object, and the player object is allowed toapproach this target object. However, the embodiment is not limitedthereto. For example, in accordance with the star object determined asthe target object, different processing may be performed. For example,when a certain star object is determined as the target object, bykeeping the B-trigger switch pressed, the player object may be moved toset apart from this target object. Also, when other star object isdetermined as the target object, by keeping the trigger switch pressed,the player object may be rotated around this target object.

Further, according to another embodiment, by determining the targetobject, a capability (parameter) of the player object may be changed.For example, a capability object (such as an icon) showing thecapability of the player object (invincibility, attack capability,increase of moving speed) is displayed on the game screen, and when acertain capability object is determined to be the target object, theB-trigger switch is kept pressed. Whereby, the target object may beinvincible, the attack capability may be enhanced, and the moving speedmay be increased all that time.

Further, according to still another embodiment, a plurality of enemyobjects are displayed on the game screen as target objects, and when acertain enemy object is determined to be the target object, theB-trigger switch is kept pressed. Whereby, the player object may attacka target enemy object all that time.

According to this embodiment, after the candidate object is determined,the state as the candidate object is made to continue for a fixed periodof time. However, the embodiment is not limited thereto. For example,only when the pointing position of the controller is deviated from theeffective range coordinates of the candidate object for a fixed periodof time, the state as the candidate object may be continued. Also, onlywhen the pointing position of the controller is within a predetermineddistance form the center position of the candidate object, the state asthe candidate object may be continued.

Further, according to this embodiment, based on a marker image, theindicated coordinates of the controller are calculated. Therefore, anacceleration sensor is not required to be provided in the controller.However, based on a change of acceleration data inputted from thecontroller, by calculating a moving (swinging) direction of thecontroller and a moving distance, the indicated coordinates of thecontroller can be calculated. Calculation of the indication image byacceleration as described above may be complementarily performed whenthe marker image can not be accurately detected.

Further according to this embodiment, the marker is provided in thecircumference of the monitor 34, and an imager is provided in thecontroller to photograph the image of infrared light outputted from themarker, so as to detect the pointing position of the controller.However, the embodiment is not limited thereto. For example, the markermay be provided in the controller, and the imager may be provided in thecircumference of the monitor 34. In addition, instead of the imager, alight reception sensor, etc, may be used.

In addition, according to this embodiment, the controller having thestructure shown in the embodiment is used as the pointing device.However, instead of the controller, a computer mouse can be used.

Although example embodiments of the present invention have beendescribed and illustrated in detail, it is clearly understood that thesame is by way of illustration and example only and is not to be takenby way of limitation, the spirit and scope of the present inventionbeing limited only by the terms of the appended claims.

What is claimed is:
 1. A non-transitory storage medium storing a gameprogram executed by a game apparatus having a display to provide amethod whereby input data is received from a pointing device includingat least one input device, the method comprising: displaying on a screenof the display at least one non-player object and a player objectsimultaneously; detecting a position on the screen pointed by saidpointing device; determining whether or not one non-player object isdesignated, based on a detected pointing position; determining whetheror not a predetermined input device is operated in a state that saiddetermining of whether or not one non-player object is designated sodetermines that said non-player object is designated; and controllingsaid player object to perform processing related to said non-playerobject being designated by said pointing device, when said determiningof whether or not the predetermined input device is operated in a stateso determines that said predetermined input device is operated.
 2. Thenon-transitory storage medium storing the game program according toclaim 1, wherein said pointing device includes an imaging device forphotographing an object to be imaged set in the circumference of adisplay and outside of the screen of the display, and said detecting thepointing position includes detecting the position on the screen pointedby said pointing device, based on a photographic result of said imagingdevice.
 3. The non-transitory storage medium storing the game programaccording to claim 1, wherein said determining whether or not thepredetermined input device is operated includes determining whether ornot said predetermined input device is continuously operated, and saidcontrolling said player object includes controlling said player objectto perform the processing related to said non-player object, while saiddetermining whether or not the predetermined input device is operated sodetermines that said predetermined input device is continuouslyoperated.
 4. The non-transitory storage medium storing the game programaccording to claim 1, wherein the method further comprises: determininga distance between said non-player object and said player object, whensaid determining whether or not said non-player object is designated sodetermines that said non-player object is designated; and saidcontrolling the player object includes controlling said player object toperform the processing related to said non-player object, when saiddistance is within a predetermined range.
 5. The non-transitory storagemedium storing the game program according to claim 1, wherein when saiddetermining whether or not the non-player object is designated sodetermines that said non-player object is designated, said game programcauses said processor to determine whether or not other object existsbetween this non-player object and said player object, and saidcontrolling the player object includes controlling said player object toperform the processing related to said non-player object, when it isdetermined that other object does not exist.
 6. The non-transitorystorage medium storing the game program according to claim 1, whereinsaid controlling the player object includes controlling a movement ofsaid player object so that said player object approaches said non-playerobject.
 7. The non-transitory storage medium storing the game programaccording to claim 6, wherein the method further comprises: calculatinga moving speed of said player object based on said distance, and saidcontrolling the player object includes controlling the movement of saidplayer object based on a calculated moving speed.
 8. The non-transitorystorage medium storing the game program according to claim 1, whereinsaid displaying includes displaying a plurality of said non-playerobjects; said determining whether or not the non-player object isdesignated includes determining whether or not any one of said pluralityof non-player objects are designated, and said controlling the playerobject includes controlling the player object to perform the processingdifferent from each other, for each of said non-player objects that aredetermined to be designated.
 9. A game apparatus having a display andconfigured to receive input data from a pointing device including atleast one input device, comprising: an object displaying programmedlogic circuitry for displaying on a screen of the display at least onenon-player object and a player object simultaneously; a pointingposition detecting programmed logic circuitry for detecting a positionon the screen pointed by said pointing device; a non-player objectdesignation determining programmed logic circuitry for determiningwhether or not one non-player object is designated, based on a pointingposition detected by said pointing position detecting programmed logiccircuitry; an operation state determining programmed logic circuitry fordetermining whether or not a predetermined input device is operated in astate that the designation determining programmed logic circuitry forone non-player object so determines that said one non-player object isdesignated; and a player object controlling programmed logic circuitryfor controlling said player object to perform processing related to saidnon-player object being designated by said pointing device, when saidoperation state determining programmed logic circuitry so determinesthat said predetermined input device is operated.
 10. The game apparatusaccording to claim 9, wherein said pointing device includes an imagingdevice for photographing an object to be imaged set in the circumferenceof a display and outside of the screen of the display, and said pointingposition detecting programmed logic circuitry detects the position onthe screen pointed by said pointing device, based on a photographicresult of said imaging device.
 11. The game apparatus according to claim9, wherein said operation state determining programmed logic circuitrydetermines whether or not said predetermined input device iscontinuously operated, and said player object controlling programmedlogic circuitry controls said player object to perform the processingrelated to said non-player object, while said operation statedetermining programmed logic circuitry so determines that saidpredetermined input device is continuously operated.
 12. The gameapparatus according to claim 9, further comprising: distance determiningprogrammed logic circuitry for determining a distance between saidnon-player object and said player object, when said non-player objectdesignation determining programmed logic circuitry so determines thatsaid non-player object is designated; and said player object controllingprogrammed logic circuitry controls said player object to perform theprocessing related to said non-player object, when said distance iswithin a predetermined range.
 13. The game apparatus according to claim9, wherein when said non-player object designation determiningprogrammed logic circuitry so determines that said non-player object isdesignated, existence determining programmed logic circuitry determineswhether or not other object exists between this non-player object andsaid player object, and said player object controlling programmed logiccircuitry controls said player object to perform the processing relatedto said non-player object, when said existence determining programmedlogic circuitry so determines that other object does not exist.
 14. Thegame apparatus according to claim 9, wherein said player objectcontrolling programmed logic circuitry controls a movement of saidplayer object so that said player object approaches said non-playerobject.
 15. The game apparatus according to claim 14, further comprisingspeed calculating programmed logic circuitry for calculating a movingspeed of said player object based on said distance, and said playerobject controlling programmed logic circuitry controls the movement ofsaid player object based on a speed calculated by said speed calculatingprogrammed logic circuitry.
 16. The game apparatus according to claim 9,wherein said object displaying programmed logic circuitry displays aplurality of said non-player objects; said non-player object designationdetermining programmed logic circuitry further determines whether or notany one of said plurality of non-player objects are designated, and saidplayer object controlling programmed logic circuitry controls the playerobject to perform the processing different from each other, for each ofsaid non-player objects that are determined to be designated.
 17. A gamecontrol method of a game apparatus having a display whereby input datafrom a pointing device including at least one input device is received,comprising: displaying on a screen of the display at least onenon-player object and a player object simultaneously; detecting aposition on a screen pointed by said pointing device; determiningwhether or not one non-player object is designated, based on thedetected pointing position; determining whether or not a predeterminedinput device is operated in a state that said determining of whether ornot one non-player object is designated so determines that saidnon-player object is designated, and controlling said player object toperform processing related to said non-player object being designated bysaid pointed device, when said determining of whether or not thepredetermined input device is operated in a state so determines thatsaid predetermined input device is operated.
 18. The method according toclaim 10, wherein said pointing device includes an imaging device forphotographing an object to be imaged set in the circumference of adisplay and outside of the screen of the display, and said detecting thepointing position includes detecting the position on the screen pointedby said pointing device, based on a photographic result of said imagingdevice.
 19. The method according to claim 10, wherein said determiningwhether or not the predetermined input device is operated includesdetermining whether or not said predetermined input device iscontinuously operated, and said controlling said player object includescontrolling said player object to perform the processing related to saidnon-player object, while said determining whether or not thepredetermined input device is operated so determines that saidpredetermined input device is continuously operated.
 20. The methodaccording to claim 10, wherein the method further comprises: determininga distance between said non-player object and said player object, whensaid determining whether or not said non-player object is designated sodetermines that said non-player object is designated; and saidcontrolling the player object includes controlling said player object toperform the processing related to said non-player object, when saiddistance is within a predetermined range.
 21. The method according toclaim 10, wherein when said determining whether or not the non-playerobject is designated so determines that said non-player object isdesignated, determining whether or not other object exists between thisnon-player object and said player object, and said controlling theplayer object includes controlling said player object to perform theprocessing related to said non-player object, when it is determined thatother object does not exist.
 22. The method according to claim 10,wherein said controlling the player object includes controlling amovement of said player object so that said player object approachessaid non-player object.
 23. The method according to claim 22, whereinthe method further comprises: calculating a moving speed of said playerobject based on said distance, and said controlling the player objectincludes controlling the movement of said player object based on acalculated moving speed.
 24. The method according to claim 10, whereinsaid displaying includes displaying a plurality of said non-playerobjects; said determining whether or not the non-player object isdesignated includes determining whether or not any one of said pluralityof non-player objects are designated, and said controlling the playerobject includes controlling the player object to perform the processingdifferent from each other, for each of said non-player objects that aredetermined to be designated.
 25. A game system comprising: a displayhaving a screen; a pointing device having at least one input device; anda game apparatus having one or more processors and configured to receiveinput data from the pointing device, the game apparatus having: anobject displaying programmed logic circuitry for displaying on thescreen of the display at least one non-player object and a player objectsimultaneously, a pointing position detecting programmed logic circuitryfor detecting a position on the screen pointed by said pointing device,a non-player object designation determining programmed logic circuitryfor determining whether or not one non-player object is designated,based on a pointing position detected by said pointing positiondetecting programmed logic circuitry, an operation state determiningprogrammed logic circuitry for determining whether or not apredetermined input device is operated in a state that the designationdetermining programmed logic circuitry for one non-player object sodetermines that said one non-player object is designated, and a playerobject controlling programmed logic circuitry for controlling saidplayer object to perform processing related to said non-player objectbeing designated by said pointing device, when said operation statedetermining programmed logic circuitry so determines that saidpredetermined input device is operated.